The present invention relates generally to bit mapped raster scan video display systems. More particularly, the invention is directed to a hardware cursor generator within such system implemented to store cursor information in a non-displayed segment of the frame buffer and to insert such cursor information by strip into the related display scan lines.
Techniques for creating and manipulating patterns in a bit mapped video display are commonly known and utilized in work stations and advanced personal computer systems. The frame buffer memory arrays used to store the pixel data which is eventually converted into display patterns on the video screen conventionally include non-displayed but addressable memory segments. Prior to the advent of the dual port video DRAMS, the information in memory was serially addressed and read out in relative synchronism to the generation of the pattern on the video display. Consequently, the brief horizontal display retrace or blank time and the vertical retrace or blank time were allocated to microprocessor accessing of the frame buffer to implement pattern changes. With the various time constraints for accessing the frame buffer memory, the non-displayed but addressable segments of the frame buffer were not utilized directly for video display pattern generation. The commercial availability of dual port video DRAM devices for creating frame buffer memory arrays now allows the video display scan system to access frame buffer information by line in a single memory address cycle, thereby providing a significant time interval during which the frame buffer memory can be accessed for other purposes. The present invention, in one aspect, efficiently utilizes such additional frame buffer memory access time both to address cursor information by line and to appropriately locate such information within each line of the video display.
Cursors are shape, color or brightness differences in the representation on the video display which relate the user's activity to information within the work station or computer system. Cursors can be as small as a single pixel in a bit mapped display or, as is more common, can be comprised of multiple pixels arranged into an informative pattern such as a clock, an arrow, an index finger or a hand. Cursors are most often created by software routines which temporarily move the underlined information off the screen and replace that information with a cursor pattern. Software generated cursors degrade in performance when the cursor or screen patterns either move or are subject to windowing. Hardware implemented cursors which presently exist require additional high speed memories of significance size to store the complete two dimensional cursor pattern, and control logic or microprocessor operations to insert such patterns in synchronism with the scan of the frame buffer data.
System configurations for moving blocks of data in a bit mapped video display are developed in U.S. Pat. No. 4,533,910 and reissued Patent Re31,200. According to the first implementation, the viewports are defined and inserted into video display frames by changing the frame buffer addresses. In the case of the latter, multiple and elaborate controllers regulate the writing of data to the frame buffer, the scanning of the frame buffer data for presentation on the video display, and the exchange of data exchange between the system and the host computer. The complexity of both the systems is directed to the formation and manipulation of large windows within a graphics display.
U.S. Pat. No. 4,454,507 is directed to the superposition of vector cursors composed of lines. The cursor generation system therein requires a high speed external memory of significant size, in that the complete cursor pattern is stored in the supplemental memory. As a further distinction, the subject matter of the patent is constrained to a direct overlay of the cursor images, in contrast to logical combinations of such images with the frame buffer pattern at the cursor location.
Another patent relating to the generation of cursors in a bit mapped video display is U.S. Pat. No. 4,625,202. The teaching herein is however limited to cursors composed of lines alone, in contrast to two dimensional images even so simple as a "X" or a circle. Accordingly, this cursor generation system is very constrained in potential application.
A further teaching of cursor generation is set forth in U.S. Pat. No. 4,668,947 where predefined cursor shapes are stored externally and interjected into the displayed pattern during the scan of the frame buffer by address jumps to a supplemental high speed memory. In some respects, the concepts are analogous to those which underlie the first mentioned pair of U.S. patents. Consequently, the implementation of the patent requires not only the external high speed memory but means for tracking both the X and Y axes of the bit mapped display in order to identify the locations where cursor information is to be inserted.
In the context of such prior art, there remains a need for a video display system of nominal complexity which does not exercise the system computer to manipulate the cursor, which generates a cursor unaffected by frame buffer pattern changes such as scrolling or windowing, which can be implemented within the context of the basic frame buffer memory, and which can provide logic combinations of cursor and video pattern pixel information.